﻿/*
 * SpatialDataObject
 * 
 * initial implementation : 5.12.2008
 *
 * Copyright (c) Adam Sida, asida@centrum.cz.
 * All rights reserved.
 * 
 * for license see Petra.Gis.License.txt
 */
using System;
using System.Collections;
using System.Collections.Generic;
using Petra.Gis.DataServices.Metadata;


namespace Petra.Gis.DataServices
{
  public abstract class SpatialDataObject
  {

    /// <summary>
    /// xaml constr.
    /// </summary>
    protected SpatialDataObject()
    {  
    }


    //protected IEnumerable _data;

    protected abstract IEnumerable spatialData{get;}


    protected FeatureMetadata _metadata;

    public virtual FeatureMetadata Metadata
    {
      get { return _metadata; }
      set
      {
        if(_metadata == null)
          throw new ArgumentException("invalid null metadata");

        _metadata = value;
      }
    }


    protected abstract IGeometryConverter spatialConverter { get; }


  }
}
